Automatic gain control in an active noise reduction (ANR) signal flow path

ABSTRACT

The technology described in this document can be embodied in a method that includes receiving an input signal captured by one or more sensors associated with an active noise reduction (ANR) headphone, and determining one or more characteristics of a first portion of the input signal. Based on the one or more characteristics of the first portion of the input signal, a gain of a variable gain amplifier (VGA) disposed in an ANR signal flow path can be adjusted, and accordingly, a set of coefficients for a tunable digital filter disposed in the ANR signal flow path can be selected. The method further includes processing a second portion of the input signal in the ANR signal flow path using the adjusted gain and selected set of coefficients to generate a second output signal for the electroacoustic transducer of the ANR headphone.

TECHNICAL FIELD

This disclosure generally relates to technology for controlling overloadconditions in active noise reducing (ANR) devices.

BACKGROUND

ANR devices can utilize one or more digital signal processors (DSPs) forimplementing various signal flow topologies. Examples of such DSPs aredescribed in U.S. Pat. Nos. 8,073,150 and 8,073,151, which areincorporated herein by reference in their entirety.

SUMMARY

In general, in one aspect, this document features a method that includesreceiving an input signal captured by one or more sensors associatedwith an ANR headphone, and determining, by one or more processingdevices in an ANR signal flow path, one or more characteristics of afirst portion of the input signal. The method also includesautomatically adjusting, by the one or more processing devices based onthe one or more characteristics of the first portion of the inputsignal, a gain of a variable gain amplifier (VGA) disposed in the ANRsignal flow path, and selecting, by the one or more processing devices,a set of coefficients for a tunable digital filter disposed in the ANRsignal flow path. The set of coefficients are selected in accordancewith the gain of the VGA. The method further includes processing asecond portion of the input signal in the ANR signal flow path using theadjusted gain and selected set of coefficients to generate a secondoutput signal for the electroacoustic transducer of the ANR headphone.

In another aspect, this document features an active noise reduction(ANR) device. The device includes one or more sensors configured togenerate an input signal indicative of an external environment of theANR device, and a variable gain amplifier (VGA) and a tunable digitalfilter disposed in an ANR signal flow path of the ANR device. The ANRsignal flow path is connected to an electroacoustic transducer of theANR device. The device further includes one or more processing devicesconfigured to determine one or more characteristics of a first portionof the input signal, automatically adjust, based on the one or morecharacteristics of the first portion of the input signal, a gain of theVGA, and select a set of coefficients for the tunable digital filter,wherein the set of coefficients are selected in accordance with the gainof the VGA.

In another aspect, this document features one or more machine-readablestorage devices having encoded thereon computer readable instructionsfor causing one or more processing devices to perform variousoperations. The operations include receiving an input signal captured byone or more sensors associated with an ANR headphone, and determiningone or more characteristics of a first portion of the input signal. Theoperations further include automatically adjusting, based on the one ormore characteristics of the first portion of the input signal, a gain ofa variable gain amplifier (VGA) disposed in the ANR signal flow path,and selecting, a set of coefficients for a tunable digital filterdisposed in the ANR signal flow path. The set of coefficients areselected in accordance with the gain of the VGA. The operations alsoinclude processing a second portion of the input signal in the ANRsignal flow path using the adjusted gain and selected set ofcoefficients to generate a second output signal for the electroacoustictransducer of the ANR headphone.

Implementations of the above aspects may include one or more of thefollowing features. Determining the one or more characteristics of thefirst portion of the input signal can include processing the firstportion of the input signal to generate a first output signal for anelectroacoustic transducer of the ANR device, and determining the one ormore characteristics of the first portion of the input signal based onone or more characteristics of the first output signal. The one or moresensors can include one of: a feedforward microphone of the ANR device,a feedback microphone of the ANR device, a pressure sensor, anaccelerometer, and a displacement sensor configured to sense an amountof excursion of the electroacoustic transducer. The ANR signal flow pathcan include a feedforward path disposed between a feedforward microphoneof the ANR device and the electroacoustic transducer. The ANR signalflow path can include a feedback path disposed between a feedbackmicrophone of the ANR headphone and the electroacoustic transducer. TheVGA gain adjustments may be deactivated responsive to a first user-inputreceived by an input-device of the ANR device. The VGA gain adjustmentsmay also be reactivated responsive to a second user-input received bythe input-device of the ANR headphone. The gain of the VGA can beadjusted periodically during an operation of the ANR headphone. The gainof the VGA can be adjusted responsive to determining that the one ormore characteristics of the first portion of the input signal satisfiesa threshold condition. The one or more characteristics of the firstportion of the input signal can be indicative of a noise floor of anexternal environment of the ANR headphone. Determining the one or morecharacteristics of the first portion of the input signal based on one ormore characteristics of the first output signal can include determiningthat the first output signal is clipped. The one or more characteristicsof the first portion of the input signal can be indicative of alikelihood that an output signal resulting from processing of the firstportion of the input signal by the ANR signal flow path would beclipped.

Various implementations described herein may provide one or more of thefollowing advantages. By throttling compensation under overloadconditions only in a selected portion of the frequency range, theperformance of small form-factor ANR devices (e.g., in-ear headsets) maybe improved. For example, selective throttling in the low frequencyrange may allow for mitigating overload conditions while avoidingpotentially objectionable noise modulations that may occur due toturning off the entire feedforward compensation. Because the human earis relatively less sensitive to low frequencies (e.g., sub-100 Hz),throttling the compensation at such low frequencies upon detection of anoverload condition may have an insignificant effect on thepsychoacoustic experience of the user, and therefore may improve theoverall user experience as compared to a device that completely shutsoff the compensation in an ANR signal flow path (e.g., a feedforwardpath or a feedback path) upon detection of overload. In addition to, orindependently of the processing in one ANR signal flow path (e.g., afeedforward path), a tunable filter may be disposed in the same oranother ANR signal flow path (e.g., a feedback path) to mitigateoverload conditions due to low frequency stimuli detected by acorresponding microphone (e.g., a feedback microphone in this particularexample). In some cases, the tunable filter (which may be implemented,for example, as a high-pass or notch filter) may improve user experienceand driver-life by reducing low frequency displacement of the driverresulting from, for example, jaw motion or walking. In someimplementations, by providing a variable gain amplifier (VGA) disposedin series with a tunable filter in a signal flow path (e.g., a feedbackpath or a feedforward path), the noise reduction performance of an ANRdevice may be adaptively balanced with its overload characteristics. Forexample, in some cases, increasing the gain of the VGA may result in abetter signal-to-noise ratio (SNR) at the cost of a decreased dynamicrange and/or an increased likelihood of being driven to overloadconditions. Automatic and simultaneous adjustments of both the VGA andthe tunable filter may therefore be used in making an ANR deviceadaptive to various different environments, thereby improving theoverall user experience.

Two or more of the features described in this disclosure, includingthose described in this summary section, may be combined to formimplementations not specifically described herein. The details of one ormore implementations are set forth in the accompanying drawings and thedescription below. Other features, objects, and advantages will beapparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an in-the-ear active noise reduction (ANR) headphone.

FIG. 2 is a block diagram of an ANR device.

FIG. 3A is an example of a block diagram of an ANR device withfeedforward compression.

FIG. 3B is an example of a block diagram of an ANR device with parallelfeedforward compression.

FIG. 4 is a plot showing pressure variations in the ear canal due to thejaw motion of a user using a sealed in-ear headphone.

FIG. 5A is a block diagram of a feedback path filter that includes atunable filter configured to mitigate overload conditions due to lowfrequency stimuli.

FIG. 5B is a block diagram of an example combination of a variable gainamplifier (VGA) and a tunable filter disposed in a signal flow path ofan ANR device.

FIGS. 6A-6C are magnitude responses of different tunable high-passfilters.

FIG. 7 is a block diagram of an example bi-quad notch filter that can beused as a tunable filter in an ANR signal flow path.

FIG. 8A shows magnitude and phase responses of the bi-quad notch filterof FIG. 7 for different combinations of filter coefficients.

FIG. 8B shows the variation of poles and zeros of the bi-quad notchfilter with respect to a tuning parameter n.

FIGS. 8C and 8D show the variations in coefficient values of the bi-quadnotch filter with respect to the tuning parameter n.

FIG. 9A shows magnitude and phase responses of a feedback path loop gainof an example ANR device without a tunable filter.

FIG. 9B shows magnitude and phase responses of the feedback path loopgain of FIG. 9, but with a tunable filter.

FIG. 10A shows the sensitivity of a feedback path of an example ANRdevice without a tunable filter.

FIG. 10B shows the sensitivity of the feedback path of FIG. 10A, butwith a tunable filter.

FIG. 11 shows the variation in output voltage of a feedback compensatorfor various values of the tuning parameter of a tunable filter connectedin series.

FIG. 12A shows the magnitude response of another example of a notchfilter that can be used as a tunable filter in an ANR signal flow path.

FIG. 12B shows the variation in coefficient values of the notch filterrepresented in FIG. 12A.

FIG. 13 is a flowchart of an example process for implementing parallelfeedforward compression in accordance with technology described herein.

FIG. 14 is a flowchart of an example process for implementing a tunablefilter in a feedback path of an ANR device in accordance with technologydescribed herein.

FIG. 15 is a flowchart of an example process for implementing acombination of a variable gain amplifier (VGA) in combination with atunable filter in a signal flow path of an ANR device.

DETAILED DESCRIPTION

An active noise reduction (ANR) device can include a configurabledigital signal processor (DSP), which can be used for implementingvarious signal flow topologies and filter configurations. Examples ofsuch DSPs are described in U.S. Pat. Nos. 8,073,150 and 8,073,151, whichare incorporated herein by reference in their entirety. U.S. Pat. No.9,082,388, also incorporated herein by reference in its entirety,describes an acoustic implementation of an in-ear active noise reducing(ANR) headphone, as shown in FIG. 1. This headphone 100 includes afeedforward microphone 102, a feedback microphone 104, an outputtransducer 106 (which may also be referred to as an electroacoustictransducer or acoustic transducer), and a noise reduction circuit (notshown) coupled to both microphones and the output transducer to provideanti-noise signals to the output transducer based on the signalsdetected at both microphones. An additional input (not shown in FIG. 1)to the circuit provides additional audio signals, such as music orcommunication signals, for playback over the output transducer 106independently of the noise reduction signals.

The term headphone, which is interchangeably used herein with the termheadset, includes various types of personal acoustic devices such asin-ear, around-ear or over-the-ear headsets, earphones, and hearingaids. The headsets or headphones can include an earbud or ear cup foreach ear. The earbuds or ear cups may be physically tethered to eachother, for example, by a cord, an over-the-head bridge or headband, or abehind-the-head retaining structure. In some implementations, theearbuds or ear cups of a headphone may be connected to one another via awireless link.

Various signal flow topologies can be implemented in an ANR device toenable functionalities such as audio equalization, feedback noisecancellation, feedforward noise cancellation, etc. For example, as shownin the example block diagram of an ANR device 200 in FIG. 2, the signalflow topologies can include a feedforward noise reduction path 110 thatdrives the output transducer 106 to generate an anti-noise signal(using, for example, a feedforward compensator 112) to reduce theeffects of a noise signal picked up by the feedforward microphone 102.In another example, the signal flow topologies can include a feedbacknoise reduction path 114 that drives the output transducer 106 togenerate an anti-noise signal (using, for example, a feedbackcompensator 116) to reduce the effects of a noise signal picked up bythe feedback microphone 104. The signal flow topologies can also includean audio path 118 that includes circuitry (e.g., equalizer 120) forprocessing input audio signals 108 such as music or communicationsignals, for playback over the output transducer 106.

During most operating conditions, the acoustic noise energy that the ANRdevice attempts to reduce is small enough to keep the system hardwarewithin capacity. However, in some circumstances, discrete acousticsignals or low frequency pressure disturbances (e.g., loud pops, bangs,door slams, etc.) picked up by the feedforward or feedback microphonescan cause the noise reduction circuitry to overrun the capacity of theelectronics or the output transducer 106 in trying to reduce theresulting noise, thereby creating audible artifacts which may be deemedobjectionable by some users. These conditions, which are referred toherein as overload conditions, can be manifested by, for example,clipping of amplifiers, hard excursion limits of acoustic drivers ortransducers, or levels of excursion that cause sufficient change in theacoustics response so as to cause oscillation. The problem of overloadconditions can be particularly significant in small form-factor ANRdevices such as in-ear headphones. For example, in order to compensatefor low frequency pressure disturbances (e.g., a bus going over apothole, a door slam, or the sound of an airplane taking off), thefeedforward compensator may generate a signal that would require theacoustic transducer to exceed the corresponding physical excursionlimit. Due to acoustic leaks, the excursion or driver displacement tocreate a given pressure typically increases with decreasing frequencies.For example, a particular acoustic transducer may need to be displaced 1mm to generate an anti-noise signal for a 100 Hz noise, 2 mm to generatean anti-noise signal for a 50 Hz noise, and so on. Many acoustictransducers, particularly small transducers used in small form-factorANR devices are physically incapable of producing such largedisplacements. In such cases, the demand of the high displacement by acompensator can cause the transducer to generate sounds that causeaudible artifacts, which may contribute to an objectionable userexperience. The audible artifacts can include oscillations, potentiallyobjectionable transient sounds (e.g., “thuds,” “cracks,” “pops,” or“clicks”), or crackling/buzzing sounds.

In some cases, such artifacts can be reduced by temporarily lowering thegain along selected portions of the signal processing pathways (alsoreferred to herein as “throttling”), such that a transient increase innoise from the lowering of the gain is potentially less objectionable toa user than the artifact being addressed. For example, as shown in theblock diagram of an example ANR device 300 in FIG. 3A, the feedforwardpath 110 can include a variable gain amplifier (VGA) 125, the gain ofwhich can be reduced (throttled) upon detection of a signal that canpotentially overload the output transducer 106. This can be done, forexample, using a sidechain filter 128, which is a filter that is appliedto a signal sampled from the main signal flow to generate a test signalfor determining whether or not to throttle the gain of the VGA 125. Forexample, the output of the VGA 125 can be passed through the sidechainfilter 128 (the transfer function of which is denoted as K_(sc_ff))connected to the feedforward path 110, and the output of the sidechainfilter is compared (using, for example, a comparator 130) to apre-determined threshold, T_(ff) 132 to decide whether an overloadcondition exists. The output of the comparator 130 is provided to thevariable gain amplifier (VGA) 125. If the comparator 130 detects thatthe filtered output signal is greater than the threshold T_(ff), thegain of the VGA 125 is adjusted to throttle the signal in thefeedforward path 110 to mitigate the overload condition. While FIG. 3Ashows a sidechain filter only for the feedforward path, a similarsidechain filter may also be implemented in the feedback path. Also, thesidechain filters may be disposed in the feedforward or feedback pathsbefore or after the corresponding main compensators 112 or 116,respectively.

In some cases, reducing the gain of the entire feedforward or feedbackpath may also generate some undesirable audible artifacts and/or noisemodulations. For example, if the noise that causes an overload conditionhas significant energy at low and high frequencies, turning off orsignificantly reducing the gain of the feedforward compensator may allowthe noise to pass through un-attenuated and may create an uncomfortableor objectionable experience for some users. The technology describedherein may improve user experience in such cases by allowing gainadjustments in only selected frequency ranges upon detection of anoverload condition, while allowing compensation signals to be generatedat frequencies outside of the selected range. For example, because noisereduction compensation in the lower end of the frequency spectrum (e.g.,below 100 Hz) is often the dominant reason for creating overloadconditions, the feedforward compensation may be throttled only in thelow frequency portion of the spectrum, while allowing feedforwardcompensation to continue for other frequencies. This may provide animproved psychoacoustic experience for users because upon detection of alow frequency disturbance, the feedforward compensation is temporarilysuspended only in a selected portion of the frequency range. If theselected frequency range is in the sub-100 Hz region, the userexperience is not significantly degraded for most users because humanears are typically not very sensitive to noise in that frequency range.

FIG. 3B is a block diagram of an example of an ANR device 350 withparallel feedforward compression, in which feedforward compensation isthrottled in only a portion of the operating frequency range upondetection of an overload condition in that frequency range. The device350 includes, in the feedforward path 110, at least two parallel pathseach processing a different portion of the operating frequency range.For example, the feedforward path 110 can include a main feedforwardcompensator 133 (denoted by the transfer function K_(ffM)) whichprocesses a frequency range that substantially excludes frequencieswhere overload conditions are expected to occur. The feedforward path110 also includes an auxiliary feedforward compensator 134 (denoted bythe transfer function K_(ffP)) connected in parallel to the mainfeedforward compensator 133. The auxiliary feedforward compensator 134processes the frequency range in which overload conditions are expectedto occur. A VGA 125, sidechain filter 128, and comparator 130 areconnected to the output of the auxiliary compensator 134 to throttle thecompensation in the corresponding frequency range upon detection of anoverload condition. However, even when the VGA 125 throttles thefeedforward compensation of the auxiliary compensator 134, the mainfeedforward compensator 133 continues to provide compensation in thecorresponding frequency range. For example, the auxiliary compensatorcan be configured to process signals only in the sub-100 Hz range, suchthat feedforward compensation due to low frequency pressure disturbancesare throttled using the VGA 125. Even when the feedforward compensationby the auxiliary compensator 134 is throttled, the main feedforwardcompensator 133 (which can be configured to process signals above 100Hz) continues to provide feedforward compensation to reduce noise in thecorresponding frequency range. In some implementations, this improvesthe overall noise reduction performance of the corresponding ANR device,while limiting audible artifacts that could be caused by low frequencypressure disturbances.

The threshold 132 associated with the comparator 130 may be determinedin various ways. In some implementations, the threshold 132 may bedetermined based on the characteristics of the output transducer. Forexample, the threshold 132 might be set as a voltage reference point toprevent the drive voltage output by the VGA 125 from causing the outputtransducer 106 to hit a mechanical limit, or reaching a drive levelwhere the acoustic distortion due to mechanical, magnetic or electricalcharacteristics is deemed undesirable. In some cases, these limits maybe related to equivalent pressure levels in the ear canal. For example,as the size of the output transducer gets smaller, these limits mayoccur at lower equivalent pressure levels in the ear canal.

In some implementations, the main feedforward compensator 133 andauxiliary feedforward compensator 134 can include filters for isolatingcorresponding operating frequency ranges. For example, the auxiliarycompensator 134 can include a low-pass filter with a passband cut-offfrequency substantially equal to 100 Hz. The main feedforwardcompensator 133 can include, for example, a high pass filter with astopband cut-off frequency substantially equal to 100 Hz. Otherconfigurations may also be used depending, for example, on thecorresponding applications. For example, the main feedforwardcompensator 133 can include a band-pass filter to isolate a frequencyrange that excludes frequencies where overload conditions are expectedto occur. In some implementations, the passbands of the main andauxiliary feedforward compensators may overlap partially. While FIG. 3Bdescribes the filter topologies only in the feedforward path 110, asimilar parallel topology may also be used in the feedback path.

In some implementations, multiple sidechain filters can be used inconjunction with the auxiliary compensator 134. For example, thesidechain filter can be implemented as a filter bank, where a particularsidechain filter is selected based on a mode of operation of the ANRdevice. For example, if the ANR device is being used in mode where someambient sounds (e.g., human voice) are allowed to pass through, thesidechain filter selected can be different from one that is selected ina mode in which feedforward compensation is performed for the entireoperating frequency range. In some implementations, the filter bank canbe implemented using a DSP where a different set of filter coefficientsand/or threshold value are selected for the sidechain filter based on anidentified operating mode. In some implementations, the main feedforwardcompensator 133 can be configured to provide noise attenuation in thecorresponding frequency range as long as the signal from the feedforwardmicrophone 102 is not clipped. In some implementations, the sidechainfilter can be operated based on input from one or more additionalsensors. For example, an accelerometer may be used to identify movementsby a user (e.g., running, jogging etc.) that may cause an overloadcondition. In some implementations, historical information onuser-behavior may be used to anticipate events that may cause anoverload condition. For example, if it is known that a user enters hercar every morning at 7:30 am and again every evening at 5 pm, and eachtime the slamming of the car door results in an overload condition, thisinformation may be used in enabling a proactive throttling of the lowfrequency portion of the feedforward signal path.

In some implementations, the compensation in an ANR signal flow path(e.g., a feedforward path or a feedback path) corresponding to theacoustic transducer for one ear may be coordinated with the compensationin the corresponding signal flow path of the acoustic transducer for theother ear. For example, if a user is wearing both earbuds of aheadphone, such coordination between the corresponding signal flow pathsmay ensure that the ANR performance in the two ears are substantiallysimilar. In some implementations, the sidechain filters of a signal flowpath may be adjusted based on determining whether both earbuds of aheadphone are being worn by a user. Sensors that can be used for thispurpose include, for example, capacitive sensors or infrared sensorsdisposed on earbuds or ear cups to determine whether an earbud or earcup is being worn by a user.

The above discussions describe the overloading problem of the acoustictransducer primarily with respect to the feedforward path 110. Theelectroacoustic transducer 106 may also be driven to an overloadcondition due to stimuli picked up by the feedback microphone 104. Forexample, in the case of in-ear ANR headphones that are tightly sealed inthe ear canal, low frequency stimuli like jaw motion can create largepressure variations that are picked up by the feedback microphone 104.FIG. 4 is a plot showing the pressure variations in the ear canal over atwo second time period, which are detected by a feedback microphone. Insome cases, for tightly sealed in-ear headphones, low frequency pressurevariations (at approximately 15 Hz) may be generated when the user walkson a firm surface. Such low frequency pressure variations of highmagnitude, upon being detected by a feedback microphone 104, may causethe feedback compensator 116 to generate a feedback compensation signalthat drives the acoustic transducer to an overload condition. This inturn may cause the acoustic transducer 106 to generate audible artifactsand degrade the performance of the ANR device. While the example of auser walking on a firm surface, which generates low frequency variationsat approximately 15 Hz, is used herein as one example, other events maycause low frequency variations at different frequencies. The techniquesdescribed herein are generally applicable to events that cause lowfrequency variations that may lead to an overdrive condition, regardlessof the particular frequency.

In some implementations, audible artifacts generated due to the lowfrequency pressure variations in the ear canal may be mitigated by usinga tunable filter in the feedback compensator. FIG. 5A is a block diagramof an example of such a feedback compensator 500, which includes atunable filter 502 configured to mitigate overload conditions due to lowfrequency stimuli picked up by the feedback microphone 104. The feedbackcompensator 500 also includes a fixed filter 504 configured to generatethe feedback compensation signal for the transducer 106. In someimplementations, upon detection of high-magnitude low-frequency stimuli(resulting, for example, from jaw motion or walking), the tunable filter502 can be configured to filter out such stimuli from the input signalprovided to the fixed filter 504 to generate the feedback compensationsignal. Under such a signal flow scheme, the feedback compensator cancontinue to generate feedback compensation signals for noise reductioneven in the presence of high-magnitude low-frequency stimuli withoutbeing driven to an overload condition.

The parameters for the tunable filter can be selected, for example, by aparameter selector module 508 that determines an appropriate set ofparameters based on the output of an estimator 506. In someimplementations, the estimator 506 determines, from the feedbackcompensation signal generated by the fixed filter 504, whether thefeedback compensation signal could potentially drive the acoustictransducer 106 into an overload condition. Based on the output of theestimator 506, the parameter selector module 508 can be configured toselect one or more parameters (or a set of filter coefficients) for thetunable filter 502, such that the tunable filter 502 filters out thestimuli that is causing the generation of the large feedbackcompensation signal. The parameter selector module 508 can be configuredto access a look-up table to select the one or more parameters (or setof filter coefficients) for the tunable filter 502, based on the extentof driver displacement reported by the estimator 506. In someimplementations, the estimator can be configured to monitor the outputof the fixed filter 504 to reduce the chances of the output voltageexceeding a threshold condition associated with, for example, drivingthe output transducer 106 to an unacceptably high displacement, orclipping the electrical output.

In some implementations, the parameter selector module 508 can beconfigured to select the one or more parameters or coefficients of thetunable filter 502 such that the tunable filter 502 acts as a high-passfilter. FIGS. 6A-6C show magnitude responses of different tunablehigh-pass filters parameterized by a parameter a. The transfer functionof the filter corresponding to FIG. 6A is given by:

$\begin{matrix}{{H( {z,a} )} = \frac{a( {1 - z^{- 1}} )}{1 - {az}^{- 1}}} & (1)\end{matrix}$The transfer function of the filter corresponding to FIG. 6B is givenby:

$\begin{matrix}{{H( {z,a} )} = \frac{1 - {az}^{- 1}}{1 - {a^{2}z^{- 1}}}} & (2)\end{matrix}$The transfer function of the filter corresponding to FIG. 6C is givenby:

$\begin{matrix}{{H( {z,a} )} = \frac{1 - {\sqrt{a}z^{- 1}}}{1 - {a^{2}z^{- 1}}}} & (3)\end{matrix}$For each of the above transfer functions, selecting the value of a to beequal to unity results in an all-pass filter. However, upon detection oflow frequency stimuli that drives the acoustic transducer to an overloadcondition, the value of a (or a resulting set of filter coefficients)may be chosen in accordance with a desired magnitude response that wouldfilter out the low frequency stimuli.

In some implementations, the parameter selector module 508 can beconfigured to select the one or more parameters or filter coefficientsof the tunable filter 502 such that the tunable filter 502 acts as anotch filter. This can be useful, for example, when the pressurevariations causing an overload condition is in a narrow frequency range.For example, when a user walks on a firm surface wearing tightly-sealedin-ear headphones, high-magnitude pressure variations can occur at about15 Hz. In such cases, a notch filter can be used to prevent suchpressure variations from generating feedback signals that could drivethe acoustic transducer to an overload. Because only a narrow range offrequencies are suppressed using notch filter, such a filter may onlyinsignificantly degrade the feedback compensation performance of the ANRdevice.

While the description so far uses examples where the parallelcompression is used in a feedforward signal flow path (FIG. 3B) and thetunable filter is used in a feedback signal path (FIG. 5A), each ofthese techniques may be used in other signal flow paths. For example,the feedforward compression technique may be used in a feedback ANRsignal flow path, and a tunable filter may be used in a feedforward ANRsignal flow path. FIG. 5B shows a block diagram of another system thatmay be used in either of a feedforward or a feedback ANR signal flowpath. Specifically, FIG. 5B is a block diagram of an example system 550that uses a combination of a variable gain amplifier (VGA) 552 and atunable filter 554 disposed in a signal flow path of an ANR device. Thesignal flow path, which includes a sensor (e.g., a microphone 557 and/ora non-microphone sensor 555) at one end and an acoustic transducer 106at the other end, can include, for example, a feedback path or afeedforward path of the ANR device. If the signal flow path in which thesystem 550 is disposed is a feedforward path, the tunable filter 554 maybe referred to as a feedforward compensator. If the signal flow path inwhich the system 550 is disposed is a feedback path, the tunable filter554 may be referred to as a feedback compensator.

In some implementations, the noise reduction performance of the ANRdevice may be balanced against its overload performance by adaptivelyadjusting the VGA 552 and the tunable filter 554 based on theenvironment of the ANR device. In some implementations, the noisereduction performance may be improved by increasing the gain of the VGA552. For example, the ANR device may introduce system-generated noise(e.g., noise generated by the electronics disposed in the signal flowpath), which may be manifested as a substantially constant audible“hiss” generated by the acoustic transducer 106. In such cases,increasing the gain of the VGA 552 may in some cases improve thesignal-to-noise ratio (SNR), and decrease the undesirable hissing audiogenerated by the acoustic transducer 106. This may also be referred toas lowering of the “noise floor,” and improve user experienceparticularly in low-noise environments. However, pre-amplifying the gainof the VGA 552 boosts any signals captured using the microphones 557(e.g., feedback and/or feedforward microphones), which in some cases mayresult in clipping of the incoming signal. For example, if the gain ofthe VGA 552 is increased to lower the noise floor, the dynamic range ofthe system may also be reduced, causing the system (e.g., theelectronics of the signal flow path and/or the acoustic transducer 106)to overload more easily. In some cases, such overload conditions maycause the acoustic transducer 106 to produce audible pops and clicks,which in turn may detract from the improved user-experience resultingfrom the lowered noise floor.

The signal flow path illustrated in FIG. 5B is an example of a systemthat can be used to balance the noise reduction performance with theoverload performance of an ANR device. For example, in quietenvironments, where the likelihood of low frequency disturbances (e.g.,those caused by low frequency pressure variations in the environment) islow, the gain of the VGA can be adjusted to a relatively high value thatreduces the audible noise floor. This in turn may expose the ANR deviceto a higher likelihood of being driven to overload conditions.Therefore, as soon as an overload condition is detected by the estimator556, or when the ANR device is moved to an environment where thelikelihood of low frequency pressure variations is higher, the parameterselector 558 may be configured to adjust the gain of the VGA to a lowervalue to reduce the chances of the system being driven to an overloadcondition. In some cases, if the VGA gain is reduced in a noisierenvironment, a psychoacoustic effect of the increased noise floor maynot be significantly noticeable to a user. However, the adaptivereducing of the gain of the VGA 552 may result in mitigating audiblepops and clicks that may otherwise have degraded the user experience dueto the occurrence of overload conditions.

In some implementations, when the gain of the VGA 552 is adjusted to aparticular level, the filter coefficients of the tunable filter 554 arealso adjusted accordingly to compensate for the change in gain of theVGA 552. For example, if the parameter selector 558 increases the gainof the VGA 552 by 6 dB, the parameter selector 558 may also beconfigured to select an appropriate set of filter coefficients for thetunable filter 554, such that the magnitude response of the tunablefilter is reduced by about 6 dB to compensate for the increased gain ofthe VGA 552. In some cases, such simultaneous adjustment of the VGA andthe tunable filter ensures that the overall gain of the signal flow pathis substantially constant, and the user experience is substantiallyuniform.

The VGA 552 is configured to process signals captured by one or moresensors such as microphones 557 and/or non-microphone sensors 555. Themicrophones 557 can be of various types, possibly depending on, forexample, the signal flow path in which the system 550 is disposed. Forexample, if the system 550 is disposed in a feedforward ANR path, themicrophone 557 can include the feedforward microphone of the ANR device,such as the microphone 102 described above. In another example, if thesystem 550 is disposed in a feedback ANR path, the microphone 557 caninclude a feedback microphone such as the microphone 104 describedabove. The sensors 555 can also be of various types. In someimplementations, the non-microphone sensors 555 can include, forexample, a pressure sensor, an accelerometer, or a gyroscope. Suchnon-microphone sensors 555 may be used, for example, to detect pressurechanges or activities that may prompt a change in the settings of theVGA 552 and/or the tunable filter 554. For example, based on the outputof an accelerometer disposed in an ANR headphone, a determination may bemade that the user is running or jogging, which in turn may produce lowfrequency pressure variations at a particular frequency. Based on such adetermination, the parameter selector 558 may be configured to adjustthe gain associated with the VGA and the filter coefficients of thetunable filter 554. While the system 550 illustrated in FIG. 5B includesboth non-microphone sensors 555 and microphones 557, systems thatinclude only microphones 557 or only non-microphone sensors 555 are alsopossible.

In some implementations, the adjustments to the gain of the VGA 552 andthe filter coefficients of the tunable filter 554 may be made based onpredicting the onset of a particular event. In some implementations, theenvironment of a user may be determined based on the output of a globalpositioning system (GPS) (e.g., one disposed either in the ANR device orin a mobile phone connected to the ANR device), and the settings of theVGA 552 and the tunable filter 554 may be adjusted in accordance withthe determination. For example, if the user of the ANR device isdetermined to be in a library or office, the parameter selector 558 canbe configured to adjust the settings of the ANR device in accordancewith that typically used in quiet environments. Conversely, if the useris determined to be in a train during commuting hours, the parameterselector 558 can be configured to adjust the settings of the ANR devicein accordance with that typically used in noisy environments. In someimplementations, the user's environment may be detected based on one ormore applications executing on the ANR device and/or a mobile deviceconnected to the ANR device. For example, upon determining that the userhas just started an application that tracks the user's running steps, aninference may be made that the user is about to start a run.Accordingly, the parameter selector 558 can be configured to adjust theVGA 552 and the tunable filter 554 to account for the correspondingexpected low-pressure variations in the ANR device. In someimplementations, information about both the environment and the activityof the user may be used in determining that operating parameters of theVGA 552 and the filter coefficients of the tunable filter.

The parameter selector 558 can be configured to select the operatingparameters of the VGA 552 and the tunable filter 554 in various ways. Insome implementations, the parameter selector may be configured to accessa computer-readable storage device that stores a representation of alook-up table that stores different sets of filter coefficients of thetunable filter 554 linked to different gain values of the VGA 552. Insome implementations, the parameter selector can be configured tocalculate the filter coefficients of the tunable filter 554 based on apre-defined relationship with the selected gain values. The gain valuesto be used in different environments may be empirically determined orcalculated as a function of the outputs of one or more sensors such as apressure sensor or microphone. In some implementations, the gain levelof the VGA 552 may also be changed based on user-input received via auser interface. The user interface can be a control such as a switch,knob, or dial disposed on the ANR device, or a software-based graphicaluser interface displayed on a display device such as one displayed on aconnected mobile device.

The estimator 556 can be configured to determine whether any adjustmentsto the VGA 552 and/or the tunable filter 554 are needed. Accordingly,the estimator 556 can be configured to signal the parameter selector 558to adjust one or both of the VGA 552 and the tunable filter 554. In someimplementations, the estimator 556 is substantially similar to theestimator 506 described above with reference to FIG. 5A. In someimplementations, the estimator 556 can be a displacement estimatorconfigured to estimate whether the drive signal for the acoustictransducer can potentially cause the transducer to exceed its excursionlimit. In some implementations, the estimator 556 can include a pressureestimator configured to detect the occurrence of pressure disturbancesin the environment.

The system 550 may be operated in various modes. In someimplementations, the system 550 can be configured to run substantiallycontinuously upon initialization. For example, if the system 550 isdisposed in a feedforward or feedback path of an ANR headphone, thesystem may be initialized when the ANR functionality of the headphone isactivated, and then allowed to run during the operating period of theheadphone. In some cases though, such a mode of operation may causemultiple pops and clicks, which could degrade the user experience tosome extent. In some implementations, the system 550 can include acontrol (e.g., a button) to deactivate/activate the system 550 based onuser-input. In some implementations, instead of performing continuousadjustments upon activation, the system 550 could be configured suchthat the parameter selector 558 adjusts the VGA 552 and the tunablefilter 554 in accordance with the current environment, and then eithershuts off or goes into standby mode. The system may be reactivated basedon a user-input which indicates that the environment has changed, orthat a readjustment is otherwise desired. In some implementations, thesystem 550 or the ANR device in which it is deployed may include one ormore controls (e.g., hardware buttons and/or software controls presentedon a user interface) for selecting the mode of operation of the system550.

In a mode of operation in which the system 550 automatically adjusts thegain of the VGA 552 and the filter coefficients of the tunable filter554, the adjustments may be performed in various ways. In someimplementations, the adjustments are performed substantiallyperiodically. For example, the adjustments may be performed with a timeperiod of about 100 ms or more. The frequency of adjustments may beselected empirically, for example, to allow the system 550 to adequatelyadjust to changing environments. In some implementations, theadjustments can be performed upon detection of a change in theenvironment. For example, if the estimator 556 detects a signalindicative of a change in the environment (e.g., the occurrence of a lowfrequency pressure event), the estimator may signal the parameterselector 558 to adjust the VGA 552 and the tunable filter 554accordingly.

In some implementations, in order to prevent the system 550 fromadjusting too frequently, a decision threshold may be associated withthe adjustments. In some implementations, an adjustment may be made onlyif the amount of required change in the gain of the VGA 552 exceeds athreshold amount. For example, an adjustment may be made only if thegain adjustment is 2.25 dB or higher. The threshold amount may bedetermined empirically, for example, to prevent overly frequentadjustments.

The adjustments to the gain level of the VGA 552 can be performed invarious ways. In some implementations, the adjustments may be made in asingle step. In some implementations, the adjustments may be made as aseries of multiple steps. For example, if an adjustment of 6 dB needs tobe made, the adjustments may be made as a single step change of 6 dB, ora series of six steps each implementing a 1 dB change, or anothercombination of steps. The step sizes may be determined empirically, forexample, based on the tolerance for any associated audible artifactsgenerated by the step changes. In some implementations, the time gapbetween the steps may also be adjusted, for example, to reduce thepossibility of multiple audible artifacts to be merged into a singlelouder artifact. However, increasing the gap between the steps alsoincreases the total adjustment time. The spacing between the steps cantherefore be selected empirically in accordance with a target tradeoffbetween the adjustment time and the tolerable audible artifacts.

FIG. 7 is a block diagram of an example bi-quad notch filter that can beused as a tunable filter in an ANR signal flow path. The transferfunction of the filter is given by:

$\begin{matrix}{{H(z)} = \frac{b_{0} + {b_{1}z^{- 1}} + {b_{2}z^{- 2}}}{1 + {a_{1}z^{- 1}} + {a_{2}z^{- 2}}}} & (4)\end{matrix}$

In practice, multiple bi-quad notch filters may be cascaded to achievethe desired level of suppression. FIG. 8A shows magnitude and phaseresponses of a single bi-quad notch filter (as shown in FIG. 7) fordifferent combinations of filter coefficients. The filter coefficientsare parameterized by the parameter n. Specifically, the curves 802, 804,806, and 808 represent the magnitude responses for parameter values n=1,n=2, n=3, and n=4, respectively. The curves 810, 812, 814, and 816represent the phase responses for parameter values n=1, n=2, n=3, andn=4, respectively. FIG. 8B shows the variation of poles and zeros of thebi-quad notch filter with respect to a tuning parameter n in terms offrequency and bi-quad singularities Q. The Q is also known as thequality factor. In FIG. 8B the curves describing the pole and zerofrequency and Qs as a function of tuning variation show that the notchsharpness and notch center frequency are coupled. To maintain desirablefeedback ANR performance, the notch depth increases with increasingfrequency.

FIGS. 8C and 8D show the variations in filter coefficient values of thebi-quad notch filter with respect to the tuning parameter n. In theparticular example shown in FIGS. 8C and 8D, the values of thecoefficients b1 and a1 are in the vicinity of 2, and the values of thecoefficients b2 and a2 are in the vicinity of unity. This is related tothe particular implementation which uses a sample rate of 384000 samplesper second, which is greater than the desired 15 Hz notch frequency. Insome implementations, the filter coefficient values (e.g., b1, b2, a1and a2, in the present example) can be stored in a look-up table, orderived from mapping rules such as the frequency/Q mapping illustratedin FIG. 8B.

FIGS. 9A-9B, and FIGS. 10A-10B illustrate the performance of a tunablefilter in the feedback path. Specifically, FIGS. 9A and 9B showmagnitude and phase responses of the loop gain (provided as a product ofthe driver-voltage-to-feedback-microphone-voltage transfer function andthe feedback compensator transfer function K_(fb)) of the feedback pathwithout a tunable filter and with a tunable filter, respectively. Theparticular tunable filter used in this example included twelve cascadedbi-quad notch filters, each of which were substantially similar to thebi-quad notch filter illustrated in FIG. 7. As illustrated by FIG. 9B,the tunable filter remains stable and exhibits consistent loop gainbehavior for the various values of the tuning parameter n. Further, asillustrated by FIGS. 10A and 10B, which show the sensitivity of afeedback path of the example ANR device without a tunable filter (FIG.10A), and with a tunable filter (FIG. 10B), the sensitivity of thefilters also remains consistent for the various values of the tuningparameter.

FIG. 11 shows the variation in output voltage of the feedbackcompensator 116 for the various values of the tuning parameter n.Specifically, the curves 1102, 1104, 1106, and 1108 represent thevariations in the feedback compensator output for parameter values n=1,n=2, n=3, and n=4, respectively. As illustrated by these curves, theparameter value can be adjusted to get different levels of suppressionat around the desired 15 Hz frequency, without significantly affectingthe feedback compensator output at other frequencies.

FIG. 12A shows the magnitude response of another example of a notchfilter that can be used as a tunable filter in the feedback path. Thisnotch filter is another single bi-quad notch filter such as the oneillustrated in FIG. 7, but with the coefficients a1 and a2 held to beconstants. In this example, the frequency of the complex poles and zeroswere equal and the Q of the zeros was varied to change the depth of thenotch, which resulted in changes to the coefficients b1 and b2 only.Such variations of the coefficients are illustrated in FIG. 12B.

FIG. 13 is a flowchart of an example process 1300 for implementingparallel feedforward compression in accordance with technology describedabove. At least a portion of the process 1300 can be implemented usingone or more processing devices such as DSPs described in U.S. Pat. Nos.8,073,150 and 8,073,151, incorporated herein by reference in theirentirety. Operations of the process 1300 include receiving an inputsignal representing audio captured by a feedforward microphone of an ANRdevice such as an ANR headphone (1302). In some implementations, the ANRdevice can be an in-ear headphone such as the one described withreference to FIG. 1. In some implementations, the ANR device caninclude, for example, around-the-ear headphones, over-the-earheadphones, open headphones, hearing aids, or other personal acousticdevices. In some implementations, the feedforward microphone can be apart of an array of microphones.

Operations of the process 1300 also include processing a first frequencyrange of the input signal to generate a first feedforward signal for anacoustic transducer of the ANR headphone (1304). This can be done usinga first feedforward compensator disposed in the ANR device to generateanti-noise signals to reduce or cancel noise signals picked up by thefeedforward microphone. In some implementations, generating the firstfeedforward signal includes processing the input signal by a firstfilter to generate a first filtered signal, and processing the firstfiltered signal by the first feedforward compensator to generate thefirst feedforward signal. The first filter can be a high-pass orband-pass filter having a passband that includes the first frequencyrange. The first feedforward signal represents an anti-noise signalconfigured to reduce a noise signal in the first filtered signal.

The process 1300 also includes processing a second frequency range ofthe input signal to generate a second feedforward signal for theacoustic transducer (1306). This can be done, for example, by a secondfeedforward compensator disposed in parallel to the first feedforwardcompensator. In some implementations, the first frequency range includesfrequencies higher than the frequencies in the second frequency range.For example, an upper limit of the second frequency range can besubstantially equal to 100 Hz, whereas the lower limit of the firstfrequency range can be greater than or substantially equal to 100 Hz. Insome implementations, the first frequency range can include at least aportion of the second frequency range. In some implementations,generating the second feedforward signal includes processing the inputsignal by a second filter to generate a second filtered signal, andprocessing the second filtered signal by the second feedforwardcompensator to generate the second feedforward signal. The second filtercan have a passband that includes the second frequency range, and thesecond feedforward signal can represent an anti-noise signal configuredto reduce a noise signal in the second filtered signal.

Operations of the process 1300 further include detecting that the secondfeedforward signal satisfies a threshold condition (1308). This caninclude, for example, determining that a voltage level representing thesecond feedforward signal reaches or exceeds a threshold to indicate anoverdrive condition of the electroacoustic transducer. This can alsoinclude, for example, filtering the second feedforward signal using adigital filter, and comparing the filtered second feedforward signal toa value associated with the threshold condition. The set of coefficientsof the digital filter can be selected based on a mode of operation ofthe ANR headphone.

Operations of the process 1300 also include attenuating the secondfeedforward signal responsive to determining that the second feedforwardsignal satisfies the threshold condition (1310). For example, if thesecond feedforward signal satisfies the threshold condition, adetermination is made that the second feedforward signal would drive theacoustic transducer, or other portions of the associated electronics, tooverload, and accordingly, a variable gain amplifier in the signal pathof the second feedforward signal is adjusted to attenuate the secondfeedforward signal.

Operations of the process can also include, for example, generating acombined feedforward signal for the acoustic transducer by summing thesecond feedforward signal and the first feedforward signal, or bysumming the attenuated second feedforward signal and the firstfeedforward signal. The acoustic transducer can then be driven using, inpart, the combined feedforward signal.

All of the various signal topologies and filter designs described abovecan be implemented in the configurable digital signal processordescribed in the cited patents. These topologies and filter designs mayalso be implemented in analog circuits, or in a combination of analogand digital circuits, using conventional circuit design techniques,though the resulting product may be larger or less flexible than oneimplemented using an integrated, configurable digital signal processor.

FIG. 14 is a flowchart of an example process 1400 for implementing atunable filter in a feedback path of an ANR device in accordance withtechnology described above. At least a portion of the process 1400 canbe implemented using one or more processing devices such as DSPsdescribed in U.S. Pat. Nos. 8,073,150 and 8,073,151, incorporated hereinby reference in their entirety. Operations of the process 1400 includereceiving an input signal representing audio captured by a feedbackmicrophone of an ANR device such as an ANR headphone (1402). In someimplementations, the ANR device can be an in-ear headphone such as onedescribed with reference to FIG. 1. In some implementations, the ANRdevice can include, for example, around-the-ear headphones, over-the-earheadphones, open headphones, hearing aids, or other personal acousticdevices. In some implementations, the feedback microphone can be a partof an array of microphones.

Operations of the process 1400 also include generating, by a feedbackcompensator and based on the input signal, a first signal (1404). Insome implementations, the feedback compensator can be substantiallysimilar to the fixed filter 504 described above with reference to FIG.5A. For example, the first signal can include an anti-noise signalgenerated in response to a noise detected by a feedback microphone,wherein the anti-noise signal is configured to cancel or at least reducethe effect of the noise.

The operations of the process 1400 include determining one or morecharacteristics of the first signal (1406). This can be done, forexample, using a module substantially similar to the estimator 506described above with reference to FIG. 5A. The one or morecharacteristics can include a voltage level of the first signal, thevoltage level being indicative of an amount of excursion or driverdisplacement of the corresponding acoustic transducer 106. In someimplementations, the one or more characteristics can be indicative of afrequency or frequency range of the input signal where the underlyingnoise is detected.

The operations of the process 1400 further include selecting, based onthe one or more characteristics of the first signal, a plurality offilter coefficients for a digital filter disposed in series with thefeedback compensator (1408). The plurality of filter coefficients can beselected, for example, in accordance with a target frequency response ofthe digital filter. For example, if the one or more characteristics ofthe first signal indicate that the voltage level of the first signal canpotentially drive the corresponding acoustic transducer to an overloadcondition, and that the underlying noise in the input signal is in thevicinity of 15 Hz, the plurality of coefficients can be chosen toconfigure the digital filter as a high-pass or notch filter to suppressor attenuate components of the input signal around 15 Hz. In someimplementations, selecting the plurality of coefficients can be done byaccessing a pre-stored look-up table that includes parameter orcoefficient values for the digital filter for various combinations ofthe one or more characteristics determined for the first signal. In someimplementations, the digital filter is substantially similar to thetunable filter described above with reference to FIGS. 5A and 5B.

The digital filter may be disposed in the feedback path of an ANR devicein series with a feedback compensator, and either before or after thefeedback compensator. In some implementations, the digital filter may beintegrated together with the feedback compensator in the form of acombined set of coefficients. For example, with reference to FIG. 5A,the tunable filter 502 and the fixed filter 504 may be combined in theform of a unified filter providing feedback compensation. The digitalfilter may be implemented in various forms, including for example, as aninfinite impulse response (IIR) filter or a finite impulse response (FIRfilter).

Operations of the process 1400 also include generating, by processingthe input signal using the plurality of filter coefficients of thedigital filter, a feedback compensation signal for an acoustictransducer of the ANR headphone (1410). In some implementations, oncethe input signal is processed by the digital filter with selectedcoefficients, a portion of the input signal causing the generation ofout-of-range feedback compensation signals may be attenuated, therebypreventing any potential overload conditions in the acoustic transducer.In some implementations, this may improve user experience by avoidingaudible artifacts that are otherwise generated by such overloadconditions.

FIG. 15 is a flowchart of an example process 1500 for implementing acombination of a variable gain amplifier (VGA) in combination with atunable filter in a signal flow path of an ANR device in accordance withtechnology described above. At least a portion of the process 1500 canbe implemented using one or more processing devices such as DSPsdescribed in U.S. Pat. Nos. 8,073,150 and 8,073,151, incorporated hereinby reference in their entirety. Operations of the process 1500 includereceiving an input signal captured by one or more sensors associatedwith an ANR device such as an ANR headphone (1502). In someimplementations, the one or more sensors can include one or more of afeedforward microphone and feedback microphone of the ANR headphone. Insome implementations, the one or more sensors include one or more of apressure sensor, an accelerometer, and a displacement sensor configuredto sense an amount of excursion of the electroacoustic transducer.

Operations of the process 1500 also include determining one or morecharacteristics of the first portion of the input signal (1506). In someimplementations, the one or more characteristics of the first portion ofthe input signal is indicative of a noise floor associated with theexternal environment of the ANR headphone. In some implementations,determining the one or more characteristics of the first portion of theinput signal includes processing the first portion of the input signalto generate a first output signal for an electroacoustic transducer ofthe ANR headphone, and determining the one or more characteristics ofthe first portion of the input signal based on one or morecharacteristics of the first output signal. For example, determining theone or more characteristics of the first portion of the input signalbased on one or more characteristics of the first output signal caninclude determining that the first output signal is clipped. In someimplementations, the one or more characteristics of the first portion ofthe input signal is indicative of a likelihood that an output signalresulting from processing of the first portion of the input signal bythe ANR signal flow path would be clipped. In some implementations,determining the one or more characteristics of the first portion of theinput signal includes determining a non-linear relationship between thefirst portion of the input signal and the first output signal. Forexample, a non-linear relationship may be manifested by an output signalthat causes an acoustic transducer to generate an audible artifact suchas a pop or click.

Operations of the process 1500 also include automatically adjustingbased on the one or more characteristics of the first portion of theinput signal, a gain of a variable gain amplifier (VGA) disposed in theANR signal flow path (1508). In some implementations, the gain of theVGA is adjusted periodically during an operation of the ANR headphone.The time period of the adjustments may be determined empirically, andcan be, for example, at least about 100 ms. In some implementations, thegain of the VGA is adjusted responsive to determining that the one ormore characteristics of the first portion of the input signal or thefirst output signal satisfies a threshold condition. The thresholdcondition can include, for example, an amount of required gainadjustment. For example, the gain of the VGA may be adjusted only if therequired adjustment is at least 2.25 dB.

Operations of the process 1500 also include selecting a set ofcoefficients for a tunable digital filter disposed in the ANR signalflow path in accordance with the gain of the VGA (1510). For example, ifthe gain of the VGA is adjusted by a particular amount (e.g., 5 dB), theset of coefficients for the tunable digital filter may be selected suchthat the magnitude response of the filter due to the selectedcoefficients compensates for the gain adjustment of the VGA. This may bedone, for example, to keep the overall gain of the signal flow pathsubstantially unchanged.

Operations of the process 1500 further include processing a secondportion of the input signal in the ANR signal flow path using theadjusted gain and selected set of coefficients to generate a secondoutput signal for the electroacoustic transducer of the ANR headphone(1512). In some implementations, the second output signal reduces thechances of the system 550 being driven to an overload condition, ascompared to the first output signal. The process 1500 may therefore beused for mitigating overload conditions in a feedforward or feedbackpath of the ANR headphone.

The functionality described herein, or portions thereof, and its variousmodifications (hereinafter “the functions”) can be implemented, at leastin part, via a computer program product, e.g., a computer programtangibly embodied in an information carrier, such as one or morenon-transitory machine-readable media or storage device, for executionby, or to control the operation of, one or more data processingapparatus, e.g., a programmable processor, a computer, multiplecomputers, and/or programmable logic components.

A computer program can be written in any form of programming language,including compiled or interpreted languages, and it can be deployed inany form, including as a stand-alone program or as a module, component,subroutine, or other unit suitable for use in a computing environment. Acomputer program can be deployed to be executed on one computer or onmultiple computers at one site or distributed across multiple sites andinterconnected by a network.

Actions associated with implementing all or part of the functions can beperformed by one or more programmable processors executing one or morecomputer programs to perform the functions of the calibration process.All or part of the functions can be implemented as, special purposelogic circuitry, e.g., an FPGA and/or an ASIC (application-specificintegrated circuit). In some implementations, at least a portion of thefunctions may also be executed on a floating point or fixed pointdigital signal processor (DSP) such as the Super Harvard ArchitectureSingle-Chip Computer (SHARC) developed by Analog Devices Inc.

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. Components of a computer include aprocessor for executing instructions and one or more memory devices forstoring instructions and data.

Other embodiments and applications not specifically described herein arealso within the scope of the following claims. For example, the parallelfeedforward compensation may be combined with a tunable digital filterin the feedback path. In another example, a tunable digital filter inthe feedforward path may be combined with a parallel compensation schemein the feedback path. In some implementations, various combinations ofthe parallel compensation technique, tunable filter technique, and theVGA technique may be used in the ANR signal flow paths (e.g., a feedbackpath or a feedforward path) of an ANR device. In some implementations,an ANR signal flow path can include a tunable digital filter as well asa parallel compensation scheme to attenuate generated control signal ina specific portion of the frequency range.

Elements of different implementations described herein may be combinedto form other embodiments not specifically set forth above. Elements maybe left out of the structures described herein without adverselyaffecting their operation. Furthermore, various separate elements may becombined into one or more individual elements to perform the functionsdescribed herein.

What is claimed is:
 1. A method comprising: receiving an input signalcaptured by one or more sensors associated with an ANR headphone;determining, by one or more processing devices in a particular ANRsignal flow path, one or more characteristics of a first portion of theinput signal; determining, from the one or more characteristics, that anexternal environment of the ANR headphone is of a first type or a secondtype; automatically adjusting, by the one or more processing devicesresponsive to determining that the external environment of the ANRheadphone is of the first type or the second type, a gain of a variablegain amplifier (VGA) disposed in the particular ANR signal flow path toa first gain level or a second gain level, respectively; selecting, bythe one or more processing devices, a first set of coefficients or asecond set of coefficients for a tunable digital filter disposed in theparticular ANR signal flow path, wherein the first set of coefficientsor the second set of coefficients is selected in accordance with thegain of the VGA being adjusted to the first gain level or the secondgain level, respectively, such that a first gain of the particular ANRsignal path due to the first gain level and the first set ofcoefficients is substantially equal to a second gain of the particularANR signal path due to the second gain level and the second set ofcoefficients; and processing a second portion of the input signal in theparticular ANR signal flow path using (i) the adjusted gain of the VGAand (ii) the selected set of coefficients to generate a second outputsignal for an electroacoustic transducer of the ANR headphone.
 2. Themethod of claim 1, wherein determining the one or more characteristicsof the first portion of the input signal comprises: processing the firstportion of the input signal to generate a first output signal for anelectroacoustic transducer of the ANR headphone; and determining the oneor more characteristics of the first portion of the input signal basedon one or more characteristics of the first output signal.
 3. The methodof claim 1, wherein the one or more sensors comprise a feedforwardmicrophone of the ANR headphone.
 4. The method of claim 1, wherein theone or more sensors comprise a feedback microphone of the ANR headphone.5. The method of claim 1, wherein the one or more sensors comprise oneor more of a pressure sensor, an accelerometer, and a displacementsensor configured to sense an amount of excursion of the electroacoustictransducer.
 6. The method of claim 1, wherein the particular ANR signalflow path comprises a feedforward path disposed between a feedforwardmicrophone of the ANR headphone and the electroacoustic transducer. 7.The method of claim 1, wherein the particular ANR signal flow pathcomprises a feedback path disposed between a feedback microphone of theANR headphone and the electroacoustic transducer.
 8. The method of claim1, further comprising deactivating VGA gain adjustments responsive to afirst user-input received by an input-device of the ANR headphone. 9.The method of claim 8, further comprising reactivating VGA gainadjustments responsive to a second user-input received by theinput-device of the ANR headphone.
 10. The method of claim 1, whereinthe gain of the VGA is adjusted periodically during an operation of theANR headphone.
 11. The method of claim 1, wherein the gain of the VGA isadjusted responsive to determining that the one or more characteristicsof the first portion of the input signal satisfies a thresholdcondition.
 12. The method of claim 1, wherein the one or morecharacteristics of the first portion of the input signal is indicativeof a noise floor of the external environment of the ANR headphone. 13.The method of claim 2, wherein determining the one or morecharacteristics of the first portion of the input signal based on one ormore characteristics of the first output signal comprises determiningthat the first output signal is clipped.
 14. The method of claim 1,wherein the one or more characteristics of the first portion of theinput signal is indicative of a likelihood that an output signalresulting from processing of the first portion of the input signal bythe particular ANR signal flow path would be clipped.
 15. An activenoise reduction (ANR) device comprising: one or more sensors configuredto generate an input signal indicative of an external environment of theANR device; a variable gain amplifier (VGA) and a tunable digital filterdisposed in particular ANR signal flow path of the ANR device, whereinthe particular ANR signal flow path is connected to an electroacoustictransducer of the ANR device; and one or more processing devicesconfigured to: determine one or more characteristics of a first portionof the input signal, determine, from the one or more characteristics,that an external environment of the ANR device is of a first type or asecond type, automatically adjust, responsive to determining that theexternal environment of the ANR device is of the first type or thesecond type, a gain of the VGA to a first gain level or a second gainlevel, respectively, select a first set of coefficients or a second setof coefficients for the tunable digital filter, wherein the first set ofcoefficients or the second set of coefficients is selected in accordancewith the gain of the VGA being adjusted to the first gain level or thesecond gain level, respectively, such that a first gain of theparticular ANR signal flow path due to the first gain level and thefirst set of coefficients is substantially equal to a second gain of theparticular ANR signal flow path due to the second gain level and thesecond set of coefficients.
 16. The ANR device of claim 15, whereindetermining the one or more characteristics of the first portion of theinput signal comprises: processing the first portion of the input signalto generate a first output signal for an electroacoustic transducer ofthe ANR device; and determining the one or more characteristics of thefirst portion of the input signal based on one or more characteristicsof the first output signal.
 17. The ANR device of claim 15, wherein theone or more sensors comprise one or more of: a feedforward microphone, afeedback microphone, a pressure sensor, an accelerometer, and adisplacement sensor configured to sense an amount of excursion of theelectroacoustic transducer.
 18. The ANR device of claim 15, wherein theparticular ANR signal flow path comprises a feedforward path disposedbetween a feedforward microphone of the ANR device and theelectroacoustic transducer.
 19. The ANR device of claim 15, wherein theparticular ANR signal flow path comprises a feedback path disposedbetween a feedback microphone of the ANR device and the electroacoustictransducer.
 20. The ANR device of claim 15, further comprising aninput-device configured to receive a first user-input, wherein the oneor more processing devices are further configured to deactivate VGA gainadjustments responsive to the first user-input.
 21. The ANR device ofclaim 20, wherein the input device is configured to receive a seconduser-input, wherein the one or more processing devices are furtherconfigured to reactivate VGA gain adjustments responsive to the seconduser-input.
 22. The ANR device of claim 15, wherein the one or moreprocessing devices are configured to adjust the gain of the VGAperiodically during an operation of the ANR device.
 23. The ANR deviceof claim 15, wherein the one or more processing devices are configuredto adjust the gain of the VGA responsive to determining that the one ormore characteristics of the first portion of the input signal satisfiesa threshold condition.
 24. The ANR device of claim 15, wherein the oneor more characteristics of the first portion of the input signal isindicative of a noise floor of an external environment of the ANRdevice.
 25. One or more machine-readable storage devices having encodedthereon computer readable instructions for causing one or moreprocessing devices to perform operations comprising: receiving an inputsignal captured by one or more sensors associated with an active noisereduction (ANR) device; determining one or more characteristics of afirst portion of the input signal; determining, from the one or morecharacteristics, that an external environment of the ANR device is of afirst type or a second type; automatically adjusting, responsive todetermining that the external environment of the ANR device is of thefirst type or the second type, a gain of a variable gain amplifier (VGA)disposed in a particular ANR signal flow path to a first gain level or asecond gain level, respectively; selecting a first set of coefficientsor a second set of coefficients for a tunable digital filter disposed inthe particular ANR signal flow path, wherein the first set ofcoefficients or the second set of coefficients is selected in accordancewith the gain of the VGA being adjusted to the first gain level or thesecond gain level, respectively, such that a first gain of theparticular ANR signal flow path due to the first gain level and thefirst set of coefficients is substantially equal to a second gain of theparticular ANR signal flow path due to the second gain level and thesecond set of coefficients; and processing a second portion of the inputsignal in the particular ANR signal flow path using the adjusted gainand selected set of coefficients to generate a second output signal foran electroacoustic transducer of an ANR headphone.